Slide 1 Accessible Technology Webinar Series 
Mobile Accessibility – The Status of Accessibility in Mobile devices 
The Accessible Technology Webinar Series is sponsored by the Great Lakes ADA Center and the Pacific ADA Center, both members of the ADA National Network.
The Session is Scheduled to begin at 1:00 pm CT
We will be testing sound quality periodically
The content and materials of this training cannot be used or distributed without permission. This training is funded under award #H133A060097 from the U.S. Department of Education through the auspices of the National Institute on Disability and Rehabilitation Research (NIDRR. For permission to use training content or obtain copies of materials used as part of this program please contact us by email at adata@adagreatlakes.org or toll free (800) 949-4232 (V/TTY) in IL, IN, MI, MN, OH, and WI.  For other all other states call (312) 413-1407
Slide 2 Webinar Features
•	Closed captioning – click CC icon (located in the Audio/Video Panel) or control-F8 (command-F8) and adjust your screen. 
•	Questions - Highlight “Great Lakes” in the participant list and “right click” on your mouse to send a private message.  Type your message into the chat area that appears.  The question will be viewed by all moderators. (Keyboard - F6, Arrow up or down to locate “Great Lakes” and select to send a message ) 
•	Customize your view – You can change the size and location of any of the panels (Chat, etc.) by hovering your mouse over the         icon at the right of each panel and select “Detach Panel”.  Each panel can be repositioned and resized.
•	Please do not use emoticons or hand-raising features during this session 
Slide 3 iAccessibility 
•	Speaker Paul Adam
•	@PaulJAdam on Twitter
•	Paul@PaulJAdam.com iMessage me too ;)
•	www.PaulJAdam.com 
Slide 4 Vision 
•	Image of iOS device General > Accessibility. Options for vision include VoiceOver, Zoom, Large Text, Invert Colors, Speak Selection, Speak Auto-text 
Slide 5 Hearing 
•	Image of iOS device General > Accessibility. Options for hearing include Hearing Aids, LED Flash for Alerts, Mono Audio 
Slide 6 Learning, Physical, and Motor 
•	Image of iOS device General > Accessibility. Options for learning disabilities, physical, motor include Learning: Guideded Access, Physical & Motor: AssistiveTouch, Home-click Speed, Incoming calls. Triple Click: Triple-click Home 
Slide 7 VoiceOver 
•	VoiceOver speaks items on the screen: Tap once to select an item, Double-Tap to activate the selected item, Swipe three fingers to scrol. You can Speak Hints and set Speaking Rate.
•	VoiceOver speaks items on the screen: Tap once to select an item, Double-Tap to activate the selected item, Swipe three fingers to scrol. You can Speak Hints and set Speaking Rate. 
Slide 8 Zoom 
•	Zoom magnifies the entire screen: Double-tap three fingers to zoom, Drag three fingers to move around the screen, Double-tap three fingers and drag to change zoom. 
Slide 9 Zoom works together with VoiceOver 
•	Zoom now works together with VoiceOver on iOS 6. Like JAWS & ZoomText. Comparizon of two images on a screen left normal, right with zoom on. 
Slide 10 Large Text 
•	Large Text Settings range from Off to 56pt
•	screen shot of what large text setting looks like on iDevice 
Slide 11 Example of Large Text on iPad 
•	screen shot of what large text setting looks like on iDevice 
Slide 12 Invert Colors
High contrast capability. Can also be useful for nighttime reading. 
•	Comparison of two images, left white background with black text, right black background with white text. 
Slide 13 Speak Selection 
•	Speak Selection settings, including dialects, speaking rate (slide bar), highlight words
•	Speak Selection Dialects, including several dialiects of English, Spanish, French. 
Slide 14 Speak AutoText 
Automatically speak auto-corrections and auto-capitalizations. This works with VO off as well. You'll hear your auto-correct mistakes before you send them 
•	selecting a paragraph of text and the speak button appears
•	this image shows your speak selection with highlighting in action 
Slide 15 Hearing 
•	Image of iOS device General > Accessibility. Options for hearing include Hearing Aids, LED Flash for Alerts, Mono Audio
•	Sound Options including, ringtone, text tone, new voicemail, new mail, sent mail, tweet, facebook post, calendar alerts, reminder alerts
•	vibration options, alert, heartbeat, quick, rapid, s.o.s, staccato, symphony, or custom including, custom pattern one, create new vibration. 
Slide 16 Hearing – Continued 
•	reminder alerts custom vibration pattern
•	creating a new custom vibration pattern
•	To set videos for closed captions - set to on. 
Slide 17 Guided Access 
•	Guided Access keeps iPhone in a single app, and allows you to control which features are available. To start Guided Access, triple-click the HOme button in the app you want to use. Other features in the guided access settings: Set Passcode and Enable Screen Sleep. 
•	Triple-click Home Accessibility Options includGe: Guided Access, VoiceOver, Invert Colors, Zoom, and AssistiveTouch 
•	From the settings in Guided access you can selecting buttons to disable. Screen shot of Paul Adams disability certain buttons 
Slide 18 Setting Guided Access 
•	screen to entering a 4 digit passcode 
•	guided access now enabled, Triple click the home button to exit
•	In the guided access setting, you can select buttons to disable for guided access 
Slide 19 Setting Guided Access – Cont. 
•	screen shot of entering a 4 digit passcode 
•	screen shot of enabled guided access on the iOs device 
Slide 20 Physical and Motor 
•	physical and motor settings: General > Accessibility, including AssistiveTouch, Home-click Speed, Incoming 
•	Assistive Touch menu as assistive touch siri, favorites, device, home button 
Slide 21 AssistiveTouch 
•	access to hardware device buttons, including lock screen, rotate screen, volume up, unmute, volume down
•	AssistiveTouch menu, including access to gestures, shake, screenshot, and multitasking 
Slide 22 AssistiveTouch  – Cont. 2 
•	AssisitveTouch allows you to use your iPone if you have difficuluty touching the screen or if you require and adaptive accessory. Custom Gestures include, scroll down, double tap, swipe right, swipe left, create new gesture. A custom gestures allow you to record gestures that can be activated from the Favorites menu. 
•	screen shot of creating a new rotor-like gesture. screen shot of creating a new rotor-like gesture. 
Slide 23 AssistiveTouch – Cont. 3 
•	home click speed settings, including Default, Slow, Slowest.
•	incoming calls settings, including Default, Headset, Speaker 
Slide 24 Triple-click Home
Apple recommends that all developers set this option for quick access to accessibility testing features.
•	triple-click settings
•	Triple-click Home Accessibility Options include: Guided Access, VoiceOver, Invert Colors, Zoom, and AssistiveTouch 
Slide 25 Maps 
•	maps label size settings, including Small, Normal, Large
•	Screenshot 1 of a comparison of maps with small labels. 
•	screenshot 2 of maps with large labels 
Slide 26 Siri and Voice Control 
•	Article Using iOS 6 Maps with VoiceOver http://www.applevis.com/applevis-forum/ios-ios-app-discussion/using-ios-6-maps-voiceover 
•	Two iPhones. The iPhone in the foreground is displaying the Voice Control screen awaiting a spoken command. There is a large cancel button at the bottom.  The iPhone in the background shows iPhone dialing 
Slide 27 iOS Voice Commands 
•	iOS Voice Commands Not for iPad 
•	Hold down home button for a few seconds until it beeps then say a command. Hold headset button for iPhone earbuds. 
Slide 28 Siri Resources 
•	Siri FAQ 
•	http://www.apple.com/iphone/features/siri.html 
•	Blind user shown in Apple Siri Promo video. 
Slide 29 Siri Commands 
•	Setup a meeting at 9 am tomorrow
•	Wake me up tomorrow at 6 am
•	Remind me to organize my calendar when I get home
•	What is the date this Saturday?
•	How many days till Christmas
•	Set a timer for 2 minutes
•	Email Jackie
•	Tell Jackie
•	Directions to home
•	Where can I get a good burger
•	What time is it in San Francisco?
•	Will it rain tomorrow?
•	Where am I?
•	Note that I spent 12 dollars on lunch
•	How are the markets doing?
•	Who was the 5th president of the united states?
•	How many dollars is 45 euros?
•	What is the population of Washington dc?
•	What is the price of gasoline in Austin, tx?
•	Tell me a Joke
•	Knock Knock 
•	What do you look like
Slide 30 Blind Photography 
•	Number, size, and location of faces announced by VoiceOver. 
•	Panorama photos also tell a VoiceOver user to "Slow Down", and "Move Up/Down" 
Slide 31 FaceTime 
•	ZVRS App (Video Relay Services) Still waiting for Apple to advertise VoiceOver on TV. 
•	FaceTime only works over WiFi . For 3G video calls try Skype or Fring. Tango is recommended for Accessibility 
Slide 32 Cognitive Accessibility 
We all have problems remembering things. These included apps are great for cognitive accessibility!
Reminders
•	Medication Reminders
•	Bus Stop Exit Location Reminder
•	Homework Deadlines
Calendar
•	Meetings
•	Appointments
Notes
•	These all sync between iPads, iPhones, and Macs via iCloud.
Slide 33 Item Chooser 
•	Items selected in the item chooser also announce their screen location.
•	item chooser showing site map selected
Slide 34 Label Elements 
•	screenshot of tweet compose button
•	label element fixing icn nav bar dark compose tweet
•	label element changed to compose tweet
Slide 35 New iOS 6 Accessibility Features 
•	Tap labels to set focus on explicitly connected inputs. Ever try to tap a tiny little radio button in iOS 5? Very hard! Now you can just tap the label giving users a large tap target.
•	Highlight Selection
•	Guided Access for Students with Autism
•	Home-click Speed
•	Made for iPhone Hearing Aids
•	Custom Vibration Patterns for All Notifications
•	VoiceOver and Zoom Work Together! & AssistiveTouch 
•	Accessibility Actions - rotor setting that allows easy access to custom gestures like swipe right to delete.
Slide 36 Testing for Accessibility 
•	Screen Curtain 
•	To turn off the display while you use VoiceOver, triple-tap the screen with three fingers.
•	White iPad 2 with apple bluetooth keyboard.
•	iPhone 4 with bluetooth slider case
Slide 37 Keyboard Commands 
•	VoiceOver Keyboard Commands for iOS 4.1 and Later 
•	VoiceOver Commands / Keyboard Shortcuts 
•	Navigate using a Bluetooth Keyboard on your iOS Device 
Slide 38 Gesture Commands 
•	Drag over the screen. Select and speak each item as you touch it.
•	Tap. Speak the selected item.
•	Two-finger tap. Stop speaking the current item.
•	Flick right or left. Select the next or previous item.
•	Double tap. Activate the selected item.
•	Two-finger flick up. Read all accessible items from the top of the screen.
•	Two-finger flick down. Read all accessible items from the current position.
•	Enter text on the keyboard. Flick left or right to select the desired key, then double-tap to enter the character. Alternatively, you can drag your finger over the keyboard until the desired key is selected. Then, while holding the selected key with one finger, tap the screen with another finger to enter the character.
•	Flick up or down to move the insertion point forward or backward in the text.
•	Scroll a list or area of the screen. Flick up or down with three fingers.
•	Adjust a slider. Flick up or down (with a single finger) to increase or decrease the setting.
•	Unlock iPhone. Select the Unlock switch, then double-tap the screen.
Slide 39 Testing Resources 
Bookmarklets 
•	Favelets for Checking Web Accessibility 
Before & After (Good & Bad) Testing Playgrounds
•	W3C's Before and After Demonstration 
•	Accessible University 2.0 
Use a Checklist
•	WCAG 2.0 Checklist 
Slide 40 Mobile Safari Accessibility 
•	screenshot of web rotor set to navigate by headings
•	web rotor settings items 1, including Characters, Words, Lines, Speech Rate, Volume, Punctuation, Hints, Headings, Links, Form Controls, Tables
Slide 41 Web Rotor 
•	web rotor settings items 2, including Lists, Landmarks, Visited Links, Non-Visited Links, Buttons
•	web rotor settings items 3, including Text Fields, Search Fields, Images, Static Text, In-page Links, Zoom, Same Item, Vertical Navigation
Slide 42 Navigate Images 
•	navigate images settings, including Always, With descriptions, Never
Slide 43 Reader 
•	yahoo article without reader, cluttered
•	yahoo article cleaned up in reader
Slide 44 Readability 
•	Website article show before using Readability.
•	Website article screen shot taken after running Readability on the iPad.
Slide 45 Languages 
•	VoiceOver works in over 30 languages
•	Automatic Language Detection
•	Languages with JAWS and MAGic on the Internet 
•	VoiceOver Automatic Language Detection Demonstration 
•	Learn a Foreign Language
•	You too can pass Spanish class!
•	Proofreading
•	VoiceOver also great for proofreading important emails or presentations, hint, hint 
Slide 46 Accessible Websites and Web View Apps
•	Accessible Websites and Web View Apps
•	Respect the Rotor! 
•	Label Your Forms! Use Fieldsets and Legends
•	Caption and Tag Your Tables with Row & Colum Headers 
•	HTML5 Input Types Are Your Friends
•	Control CSS3 Speech Verbosity 
•	WAI-ARIA is WAY Cool!
•	FOCUS on Focus Management! Avoid tabindex=1+, learn the power of tabindex=0 and -1.
•	Form Validation FTW!
•	Mobilize and Optimize for Small Screens
Slide 47 Simple Mobile & Screen Magnification Usability & Accessibility Enhancements
Place Label Above Input
By placing the label directly above the input you improve the experience for mobile and screen magnification users. When focus is in the input the label will no longer be cut off like in the below example of the Gmail sign up form where the label is placed to the left but cut off when viewed on an iPhone.
Slide 48 Position Formatting Instructions Below Input with CSS 
•	Using CSS you can enclose formatting instructions in a span tag and position them directly under the input so they are still visible when zoomed in.
•	Hiding Labels Using CSS
•	You may want to visually hide some labels where the input might be obvious to most sighted users. We can use CSS positioning to do this. The code for this comes from the WebAIM article, CSS in Action: Invisible Content Just for Screen Reader Users. 
Slide 49 HTML5 Forms & jQuery Validation 
•	DEVELOPERS Y U NO USE HTML5 INPUT TYPES?
Slide 50 Comparison of Input Types and Displayed Keyboard on the iPhone
•	3 Text boxes: 
–	1: type=text 
–	2: type=email 
–	3. type=tel 
•	Default keyboard displays alphabet characters with first letter capitalized by default.
•	Email keyboard displays alphabet with additional @ and . symbol.
•	Tel keyboard displays 10-digit numeric phone keypad with +, *, and # key.
Slide 51 Date Type Display 
•	Date type displays a date spinner popover on the iPad.
•	Date spinner control replaces standard keyboard on iPhone 
Slide 52 iPhone Keyboard Comparison with Pattern Attribute
•	The number type without a pattern attribute displays a keyboard with many small number and symbol buttons.
•	The number type with a pattern attribute displays the 10-digit keypad with very large buttons similar to the tel keyboard
Slide 53 HTML5 Validation
•	Accessible Client-side Form Validation with HTML5 Does not work on iOS 
•	Different Input Types with the Required Attribute in Action on Mac OS X Lion
Slide 54 Enhancing Forms with ARIA 
•	aria-required=”true” 
•	The easiest enhancement is to add the aria-required=”true” attribute to all required fields in your form.
•	Screenshot of a form that only indicates required fields by coloring their labels red. A big red circle with a line through it is placed over the screenshot.

Slide 55 VoiceOver Caption Panel on OS X Lion
Below is a screenshot of the VoiceOver Caption Panel on OS X Lion which provides an excellent way to visualize ARIA/screen reader output if you’re deaf or hard of hearing or don’t want to annoy others in the room with your computer speaking everything out loud. I think it would be cool if iOS could do this as well!
•	Label reads: First Name *, VO output speaks: First Name * required edit text
Slide 56 Aria-describedby
Don’t worry about having the HTML5 required attribute and the aria-required=”true” attribute and causing repetition. All the screen readers I’ve tested only speak required once. Here aria-required is your fallback for browsers who do not support HTML5 like Internet Explorer. This way screen readers which support ARIA will speak the ARIA attribute when used with IE and ignore the HTML5 attribute.
Slide 57 Aria Label 
aria-label
•	Only works in iOS if there is not a connected label. Otherwise, label overrides aria-label.
jQuery Validation
•	Accessible Client-side Form Validation with HTML5, WAI-ARIA, & the jQuery Validation Plugin 
Slide 58 WAI-ARIA 
•	Roles 
–	Widget Roles 
•	Sliders 
•	Buttons 
•	Landmarks 
•	Navigation Roles 
•	States & Properties 
–	aria-labelledby 
–	aria-required="true" 
•	Live Regions 
•	Introduction to WAI ARIA 
•	Safari HTML Reference - Supported Accessibility Roles 
•	Table describing mapping of WAI-ARIA roles to accessibility APIs. 
Slide 59 Web Rotor Navigating by Aria Landmarks 
•	web rotor shown navigating by aria landmarks
Slide 60 Mobile Web Apps 
•	jquery mobile shown on 4 different phones
•	jquery mobile shown on two phones, and iPad, and a Nook tablet
•	jQuery Mobile 
Slide 61 jQuery Resources 
•	Docs and Demos 
•	Form Element Gallery 
Sites That Behave Like Apps
•	Configuring Web Applications - Safari Web Content Guide 
Slide 62 Audio and Video 
•	HTML5rocks Audio + Video 
•	Safari HTML5 Audio and Video Guide 
•	Everything you need to know about HTML5 video and audio 
Slide 63 YouTube App 
•	new YouTube app search by closed captions
•	Screenshot YouTube app's CC button
Slide 64 Selecting Subtitles 
•	Using VoiceOver with iBooks, select no subtitles or English 
Slide 65 Flicking Down with Two Fingers 
•	YouTube app video shown with captions
Slide 66 Native App Accessibility 
"supporting accessibility does not impact your ability to innovate and create beautiful iPhone applications"
Apple Docs 
•	Accessibility Programming Guide for iOS 
•	UIAccessibility Protocol Reference 
•	UIAccessibilityElement Class Reference 
•	UIAccessibilityContainer Protocol Reference 
•	UIAccessibilityFocus Protocol Reference 
•	UIAccessibilityAction Protocol Reference 
Slide 67 Interface Builder Accessibility Attributes 
•	labels traits hints in interface builder, including accessiblityLabel, accessibilityTraits, isAccessibilityElement, accessibilityHint
Slide 68 The UI Accessibility programming interface defines the following attributes:
•	Label. A short, localized word or phrase that succinctly describes the control or view, but does not identify the element’s type. Examples are “Add” or “Play.”
•	Traits. A combination of one or more individual traits, each of which describes a single aspect of an element’s state, behavior, or usage. For example, an element that behaves like a keyboard key and that is currently selected can be characterized by the combination of the Keyboard Key and Selected traits.
•	Hint. A brief, localized phrase that describes the results of an action on an element. Examples are “Adds a title” or “Opens the shopping list.”
•	Frame. The frame of the element in screen coordinates, which is given by the CGRect structure that specifies an element’s screen location and size.
•	Value. The current value of an element, when the value is not represented by the label. For example, the label for a slider might be “Speed,” but its current value might be “50%.” 
- (BOOL)isAccessibilityElement
- (NSString *)accessibilityLabel
- (UIAccessibilityTraits)accessibilityTraits
- (CGRect)accessibilityFrame
- (NSString *)accessibilityHint
- (NSString *)accessibilityValue 
Slide 69 Make an image view accessible 
•	UIImageView *view = [[UIImageView alloc] initWithImage:image]; view.accessibilityLabel = @"Apple Logo";

@property BOOL isAccessibilityElement
■ Return YES to make VoiceOver see this element 
■ Default is YES for UIKit controls @property(copy) NSString *accessibilityLabel
■ A textual representation of the element
Slide 70 Best Practices
 Use short, concise labels
■ Good: “Add city”
■ Bad: “Adds a city to the list of cities”
Don’t include the type information in the label 
■ Good: “Remove city”
■ Bad: “Remove city button” @property(copy) NSString *accessibilityHint
■ Optional
■ Provides more information to aid VoiceOver users @property UIAccessibilityTraits accessibilityTraits
■ Defines behavior
■ Bitmask of integers
Enhance the Accessibility of Table Views 
Slide 71
Testing with Accessibility Inspector in the iOS Simulator
Using Accessibility Inspector to Test Your Application 
Slide 72 Grouping Accessibility Children 
•	@property BOOL shouldGroupAccessibilityChildren 
Slide 73 
•	Group items together to control the order VoiceOver visits elements
•	UIAccessibilityTraits UIAccessibilityTraitHeader
■ New trait in order to mark elements as a header
Slide 74 Check if Assistive Technology Running? 
•	Useful API for Accessibility Apps
BOOL UIAccessibilityIsVoiceOverRunning()
■ Is VoiceOver on?
- (void)accessibilityElementDidBecomeFocused
■ Did VoiceOver focus move to an element?
UIAccessibilityAnnouncementNotification
■ Tell VoiceOver to speak something
•	/* 
Assistive Technology

Use UIAccessibilityIsVoiceOverRunning() to determine if VoiceOver is running.
Listen for UIAccessibilityVoiceOverStatusChanged to know when VoiceOver starts or stops.
*/
UIKIT_EXTERN BOOL UIAccessibilityIsVoiceOverRunning() NS_AVAILABLE_IOS(4_0);
UIKIT_EXTERN NSString *const UIAccessibilityVoiceOverStatusChanged NS_AVAILABLE_IOS(4_0); 
•	// Returns whether system audio is mixed down from stereo to mono.
UIKIT_EXTERN BOOL UIAccessibilityIsMonoAudioEnabled() NS_AVAILABLE_IOS(5_0);
UIKIT_EXTERN NSString *const UIAccessibilityMonoAudioStatusDidChangeNotification NS_AVAILABLE_IOS(5_0);
•	// Returns whether the system preference for closed captioning is enabled.
UIKIT_EXTERN BOOL UIAccessibilityIsClosedCaptioningEnabled() NS_AVAILABLE_IOS(5_0);
UIKIT_EXTERN NSString *const UIAccessibilityClosedCaptioningStatusDidChangeNotification NS_AVAILABLE_IOS(5_0);
•	// Returns whether the system preference for invert colors is enabled.
UIKIT_EXTERN BOOL UIAccessibilityIsInvertColorsEnabled() NS_AVAILABLE_IOS(6_0);
UIKIT_EXTERN NSString *const UIAccessibilityInvertColorsStatusDidChangeNotification NS_AVAILABLE_IOS(6_0);
•	// Returns whether the app is running under Guided Access mode.
UIKIT_EXTERN BOOL UIAccessibilityIsGuidedAccessEnabled() NS_AVAILABLE_IOS(6_0);
UIKIT_EXTERN NSString *const UIAccessibilityGuidedAccessStatusDidChangeNotification NS_AVAILABLE_IOS(6_0);
Slide 75 Accessibility Notifications
•	Tell VoiceOver something happened
• When a few items change, VoiceOver should “update”
UIAccessibilityPostNotification( UIAccessibilityLayoutChangedNotification, nil);
• When the screen changes, VoiceOver should “reset”
UIAccessibilityPostNotification( UIAccessibilityScreenChangedNotification, nil);
Slide 76 State
•	Informs whether the receiving view should be considered modal by accessibility. If YES, then 
elements outside this view will be ignored. Only elements inside this view will be exposed.
default == NO
*/
@property(nonatomic) BOOL accessibilityViewIsModal NS_AVAILABLE_IOS(5_0);
•	
@property BOOL accessibilityElementsHidden
■ Tells VoiceOver to ignore all elements contained within
•	@property CGPoint accessibilityActivationPoint
■ The point where VoiceOver will simulate a touch event
- (BOOL)accessibilityPerformEscape
■ Allows VoiceOver to cancel or exit a modal state
Slide 77 iOS 6 new stuff
•	New VoiceOver API
- (BOOL)accessibilityPerformMagicTap
■ Control what happens when user does two-finger double-tap
•	/* 
Implement accessibilityPerformMagicTap on an element, or the application, in order to provide a context-sensitive action.
For example, a music player can implement this to start and stop playback, or a recording app could start and stop recording.
Return YES to indicate that the action was handled.
default == NO
*/
- (BOOL)accessibilityPerformMagicTap NS_AVAILABLE_IOS(6_0);
Slide 78 Move VoiceOver focus
•	Use the element as the argument when posting
UIAccessibilityLayoutChangedNotification or UIAccesibilityScreenChangeNotification
UIButton *moveToButton = ...
UIAccessibilityPostNotification( UIAccessibilityScreenChangedNotification, moveToButton); 
Slide 79 Read the header files! 
•	accessibility header files in xcode 
•	#import <UIKit/UIAccessibilityAdditions.h>
#import <UIKit/UIAccessibilityConstants.h>
#import <UIKit/UIAccessibilityElement.h>
#import <UIKit/UIAccessibilityIdentification.h>
#import <UIKit/UIAccessibilityZoom.h> 
Slide 80 UIAccessibility 
•	UIAccessibility is implemented on all standard UIKit views and controls so
that assistive applications can present them to users with disabilities.

Custom items in a user interface should override aspects of UIAccessibility
to supply details where the default value is incomplete.

For example, a UIImageView subclass may need to override accessibilityLabel,
but it does not need to override accessibilityFrame.

A completely custom subclass of UIView might need to override all of the
UIAccessibility methods except accessibilityFrame.
*/
@interface NSObject (UIAccessibility)
Slide 81 Accessibility Traits
Traits are combined in a mask to help assistive applications understand the meaning and intended use of a particular accessibility element.

UIKit applies appropriate traits to all standard controls, however the following traits may be used in conjunction with custom controls.

When setting accessiblity traits, combine custom traits with [super accessibilityTraits]. An incorrect combination of custom traits will cause accessibility clients to incorrectly interpret the element. Use common sense when combining traits.
Slide 82 typedef uint64_t UIAccessibilityTraits 
// Used when the element has no traits.
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitNone;
// Used when the element should be treated as a button.
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitButton;
// Used when the element should be treated as a link.
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitLink;
// Used when an element acts as a header for a content section (e.g. the title of a navigation bar).
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitHeader NS_AVAILABLE_IOS(6_0);
// Used when the text field element should also be treated as a search field.
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitSearchField;
// Used when the element should be treated as an image. Can be combined with button or link, for example.
UIKIT_EXTERN UIAccessibilityTraits UIAccessibilityTraitImage;
Slide 83 Direct Interaction 
•	Using direct interaction
@implementation PianoView
- (id)initWithFrame:(CGRect)frame {
...
KeyView *aKey = [KeyView new];
aKey.isAccessibilityElement = YES;
aKey.accessibilityLabel = @"A";
.... }
- (UIAccessibilityTraits)accessibilityTraits {
return UIAccessibilityTraitAllowsDirectInteraction;
}
- (BOOL)isAccessibilityElement {
return YES; } 

Slide 84 Drag & Drop
Using announcements
#define Post UIAccessibilityPostNotification
- (void)continueTracking:(id)touch {
if (isNearEdge(touch))
Post(UIAccessibilityAnnouncementNotification,
@"Nearing %@ border", borderLabel(touch));
if (isOnEmptySpace(touch))
Post(UIAccessibilityAnnouncementNotification,
@"On empty space. Lift finger to cancel");
if (isOnDifferentIcon(touch))
Post(UIAccessibilityAnnouncementNotification,
@"On top of Artists. Lift finger to replace");
}
Slide 85
Apple's Accessibility Videos & Tutorials
•	Apple Developer Center Videos 
•	WWDC2012 
•	Accessibility for iOS - Raising the Bar
View in iTunes
Presentation Slides 
•	Improving Accessibility in Books
View in iTunes
Presentation Slides 
•	WWDC2011 
•	Combining Web Accessibility and Automation on iOS
View in iTunes
Presentation Slides 
•	iOS Accessibility - Making great accessible apps
View in iTunes
Presentation Slides 
•	WWDC2010 
•	Accessibility on iPhone OS
View in iTunes
Presentation Slides 
•	Safari Development Resources
•	Improving Accessibility in Web Applications 
Slide 86 Stanford Fall 2010 
•	Stanford ios programming class accessibility presentation
Slide 87 Resources 
Developing Apps for iOS
Accessibility On IOS Make an app for everyone
View In iTunes 
Accessibility Inspirational Video
Developers in Action - Making a difference. One app at a time.
Per Busch
Ariadne GPS app
Speech Language Pathology 
Apple Accessibility Developer Mailing List
Accessibility-dev 
Email Apple at accessibility@apple.com
Slide 88 App Wins
•	VisionSim 
•	LookTel Money Reader 
•	EyeNote 
•	oMoby 
•	Red Laser 
•	VizWiz 
•	iPhone / iPad Apps for Magnification and Vision Support 
Slide 89 iTunes
•	Closed captions and audio descriptions that the user can turn on or off as needed.
•	Open subtitles and descriptions that are available to everyone watching or listening.
•	Closed subtitles for adding multiple language tracks to video files.
•	Accessible PDFs. 
Slide 90 Audio Options 
•	captions shown on video content
•	language subtitles options on iPhone 
•	audio descriptions options on iPhone 
Slide 91 Video Resources 
•	Creating Accessible iTunes U Content Videos in iTunes 
•	Creating Accessible iTunes U Content PDF 
•	Example Video with Closed Captions and Closed Descriptions 
Slide 92 iBooks 
•	iBooks notes and bookmarks shown in action

Slide 93 Creating ePubs
•	Creating ePub files with Pages 
A table of contents is automatically generated, which allows readers to jump quickly to any chapter title, heading, or subheading in the book. Review your document to be certain that appropriate paragraph styles are applied to all chapters, titles, headings, and subheadings in your document.
Then open the Document inspector and click TOC (table of contents). Select all of the paragraph styles that you want to appear in the TOC, and then click Update.
Reformat any images, shapes, or other objects in your document to make them inline objects.
•	How to make your own epub books for iBooks 
Slide 94 Adding Alt Text to iBook ePubs
•	Making Image in ePub Documents for the iPad Accessible 
•	Export to ePub from Pages for Mac. 
•	Expand with Stuffit Expander. 
•	Find .xhtml files. 
•	Edit with Dreamweaver. 
•	Add Alt text. 
•	Convert back to ePub with Calibre. 
Slide 95 iBooks Author 
•	screen shot of iBooks Author with Accessibility Description option highlighted
Slide 96 AppleTV 
•	http://twitter.com/#!/TaiBlas/status/9809514329022464
•	Apple TV (2nd generation): Apple Continues to Set the Accessibility Standard
•	Apple TV with VoiceOver is amazing! I hav never had independent access to so many movies and television programs. Thank you, #apple"

Slide 97 Caption your iTunes Content
http://www.youtube.com/watch?feature=player_embedded&v=zd4_nHPYpNw 
•	Searching for Closed Captioned Content in iTunes U 
•	Search Tech-Ease 4 All in iTunes for some CC content.
•	VoiceOver in action on Apple TV 2nd gen and activating captions. 
Slide 98 Questions? 
•	Speaker Paul Adam
•	@PaulJAdam on Twitter
•	Paul@PaulJAdam.com iMessage me too ;)
•	www.PaulJAdam.com 
Slide 99 Accessible Technology Webinar Series 
Thank you for participating! Next Session is March 21, 2013
Accessibility Testing in Enterprises Big and Small
This session was recorded and will be archived in two days at 
http://www.ada-audio.org/Webinar/AccessibleTechnology/ 
www.ada-audio.org		     
877-232-1990 (V/TTY)